package main

import "fmt"

func main() {
	// 不同类型变量的声明（定义）
	//var a int
	//var b float64
	// 多个变量，多个类型同时声明
	var (
		a int
		b float64
	)
	a, b = 10, 3.14
	fmt.Println("a=", a)
	fmt.Println("b = ", b)

	var (
		c = 1
		d = 2
	)
	fmt.Println("c=", c)
	fmt.Println("d = ", d)

	//(
	//	e := 2
	//	f := 3
	//	)
	// 报错写法
	//
	//fmt.Println("e=", e)
	//fmt.Println("f = ", f)

	//const i = 10
	//const j = 9.3

	// 常量同时声明多个
	const (
		i = 10
		j = 9.3
	)
	fmt.Println(j)

	const (
		HTTP  string = "http"
		HTTPS string = "https"
	)

	fmt.Println(HTTP)
	fmt.Println(HTTPS)

	fmt.Println("i = ", i)
	fmt.Println("b = ", b)

	// 初始化第一个， 后面相同
	const (
		o1 = 1 // 1
		o2     // 1
		o3     // 1
	)
	//o2 = 3 报错，常量已经初始化过
	fmt.Println(o1, o2, o3)

	// 单行多重赋值
	const m1, m2, m3 = 1, 'a', "abc"
	fmt.Println(m1, m2, m3)
}
